#!/usr/bin/python
# encoding: utf-8;
# from importlib.resources import path
import os
import os.path
import sys

sys.path.append("..")
from tools.utils import get_path_file
from config import cfg_service_filter_dir
from s2c.engine.db_helper import DbHelper


# 过滤是否是系统default文件，返回需要copy的文件
def filter_euler_system_file(arr):
    # 遍历每个文件
    ret_arr = []
    db = DbHelper()
    print('---filter_euler_system_file-------', len(arr))
    for path in arr:
        if db.check_db_euler_file_exists(path):
            ret_arr.append(path)
    print('---filter_euler_system_file-过滤后-', len(ret_arr))
    print('---filter_euler_system_file-过滤后===', ret_arr)
    return ret_arr


#  根据服务过滤掉和添加服务的default值
def filter_service_file(name, file_arr):
    # 过滤掉系统默认文件
    ret_arr = filter_euler_system_file(file_arr)
    # if name == service_app['nginx']:
    # 检查并解析Nginx config文件中的路径
    # nginx_arr = nginx_config_dir()
    # 使用数据库扫描的关键字做处理
    # db = DbHelper()
    # nginx_arr = db.get_system_file_db_keyword(name)
    # print('-------------filter_service_file--------lenth--------', len(nginx_arr))
    # print('-------------filter_service_file--------arr--------', nginx_arr)

    # 返回时增加需要默认的文件
    # return ret_arr + nginx_default_file + nginx_arr
    # return ret_arr + nginx_arr

    # elif name == service_app['php']:
    #     print('======php=======')
    # else:

    # 使用数据库扫描的关键字做处理
    db = DbHelper()
    db_arr = db.get_system_file_db_keyword(name)
    print('-------------filter_service_file--------lenth--------', len(db_arr))
    print('-------------filter_service_file--------arr--------', db_arr)
    if len(db_arr):
        ret_arr.extend(db_arr)
    # 检查服务对应目录下的配置文件，如果存在需要把整个目录copy
    for dir in cfg_service_filter_dir:
        path_dir = dir + name + '/'
        print('=========filter_service_file===========', path_dir)
        if os.path.isdir(path_dir):
            print('=========filter_service_file======add=====', path_dir)
            ret_arr.append(path_dir)
        else:
            path_dir = dir + name
            file_dir = get_path_file(path_dir)
            if len(file_dir):
                ret_arr.extend(file_dir)

    return ret_arr


#  man 方法
def main():
    print("Hello, filter!")
    # tmp = filter_service_file()
    # tmp = os.path.isdir('D:\\Work\\2022\\Linux\\data\\nginx\\1ok\\')
    # print('===nginx_config_dir====',tmp)


if __name__ == "__main__":
    main()
